An efficient fuzzy unification method and its implementation into the Bousi~Prolog system
نویسندگان
چکیده
Bousi∼Prolog is a fuzzy logic programming language whose main objective is to make flexible the query answering process. Its operational mechanism is a extension of the SLD-resolution (called weak resolution) where the classical syntactic unification algorithm has been replaced by a fuzzy one. This paper presents a generic method for the unification of linguistic terms (i.e. fuzzy sets) which is also applicable to other programming languages with an operational semantics based on some kind of weak resolution mechanism. The basic idea is to compile the information provided by fuzzy sets, generating a binary fuzzy relation on the set of their associated linguistic labels. Subsequently, this fuzzy relation can be used in a standard, completely integrated way inside the unification mechanism of the Bousi∼Prolog system, what allows us to handle linguistic labels on an equal basis with regard other syntactic symbols occurring in the source program. This is a novel approach because it is the first time that fuzzy sets are introduced into the core of a Prolog system by means of compilation techniques and combining fuzzy relations with weak unification. An important feature of this approach is its simplicity, since the inclusion is carried out in a very natural way without affecting the operational semantics of the Bousi∼Prolog language and with very few syntactical modifications. All these reasons convert our approach in a good alternative to the techniques used by other fuzzy Prolog systems.
منابع مشابه
UNICORN: A Programming Environment for Bousi∼Prolog
Bousi∼Prolog is a fuzzy logic programming language which is an extension of the standard Prolog language. The Bousi∼Prolog operational semantics is an adaptation of the SLD resolution principle, where classical unification has been replaced by a fuzzy unification algorithm based on proximity relations. Unicorn is a programming environment for the Bousi∼Prolog language. This environment will pro...
متن کاملBousi~Prolog: a Prolog Extension Language for Flexible Query Answering
In this paper we present the main features an implementation details of a programming language that we call Bousi∼Prolog. It can be seen as an extension of Prolog able to deal with similarity-based fuzzy unification (“Bousi” is the Spanish acronym for “fuzzy unification by similarity”). The main goal is the implementation of a declarative programming language well suited for flexible query answ...
متن کاملOn the incorporation of interval-valued fuzzy sets into the Bousi-Prolog system: declarative semantics, implementation and applications
In this paper we analyse the benefits of incorporating interval-valued fuzzy sets into the Bousi-Prolog system. A syntax, declarative semantics and implementation for this extension is presented and formalised. We show, by using potential applications, that fuzzy logic programming frameworks enhanced with them can correctly work together with lexical resources and ontologies in order to improve...
متن کاملA Sound Semantics for Bousi∼Prolog
Bousi∼Prolog is an extension of the standard Prolog language aiming at to make more flexible the query answering process and to deal with vagueness applying declarative techniques. In this paper we precise a model-theoretic semantics for a pure subset of this language, we recall both the WSLD-resolution principle and a similarity-based unification algorithm which is the basis of its operational...
متن کاملA Fuzzy Logic Programming Environment for Managing Similarity and Truth Degrees
FASILL (acronym of “Fuzzy Aggregators and Similarity Into a Logic Language”) is a fuzzy logic programming language with implicit/explicit truth degree annotations, a great variety of connectives and unification by similarity. FASILL integrates and extends features coming from MALP (Multi-Adjoint Logic Programming, a fuzzy logic language with explicitly annotated rules) and Bousi∼Prolog (which u...
متن کامل